#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//int convertInteger(int A, int B) {
//	int count = 0;
//	int c = A ^ B;
//	for (int i = 0; i < 32; i++)
//	{
//		if ((c & 1) == 1)
//		{
//			count++;
//		}
//		c = c >> 1;
//	}
//	return count;
//}

//
//int cmp(const void* p1, const void* p2)
//{
//	return *((int*)p1) - *((int*)p2);
//}
//
//int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) {
//	int count = 0;
//	if (!nums1 || !nums2)
//	{
//		*returnSize = 0;
//		return NULL;
//	}
//	int* arr = (int*)malloc(sizeof(int) * (nums1Size < nums2Size ? nums1Size : nums2Size));
//	qsort(nums1, nums1Size, sizeof(int), cmp);
//	qsort(nums2, nums2Size, sizeof(int), cmp);
//	for (int i = 0, j = 0; i < nums1Size && j < nums2Size;)
//	{
//		if (nums1[i] < nums2[j])
//		{
//			i++;
//		}
//		else if (nums1[i] > nums2[j])
//		{
//			j++;
//		}
//		else {
//			arr[count++] = nums1[i];
//			i++;
//			j++;
//			if (count > 1 && arr[count - 1] == arr[count - 2])
//			{
//				--count;
//			}
//		}
//	}
//
//	int* rearr = (int*)realloc(arr, sizeof(int) * count);
//	*returnSize = count;
//	return rearr;
//}

